package com.servlet.response; /**
 * @author wzm
 * @create 2023-11-06 11:26
 * project_name:web2310
 * @Description
 */

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/resp1")
public class ResponseServlet1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doPost(request, response);//调用doPost
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置响应状态码
//        response.setStatus(302);   //之前访问的资源不服务了  你找xx谁吧
        //设置响应头 告诉浏览器去访问某个资源
//        response.setHeader("Location","/web04/index.jsp");
        //以上设置状态为302 响应头为Location: 地址的行为称为请求重定向
        /*
        * 斜杆：/说明
        * 斜杆在前端浏览器和后端服务器中的表示是不同的
        * /在服务器中：
        *   /会被服务器解析称为：协议://ip地址:端口号/项目名/
        * 如：当前项目 /hello 在服务器中解析为：
        * http://localhost:8080/web04/hello
        *
        * /在浏览器中：
        * /会被浏览器解析称为：协议://ip地址:端口号/
        * 如：当期项目在浏览器中的/hello
        * http://localhost:8080/hello
        * */

        //项目名 虚拟目录
        String path = request.getContextPath();
        System.out.println("path = " + path);

        //无法携带数据
        request.setAttribute("a","a");

        //方式设置重定向
//        response.sendRedirect(path+"/index.jsp");

        //不能访问WEB-INF目录下的资源
        //response.sendRedirect(path+"/WEB-INF/form.html");
        //可以访问服务器以外的资源
        response.sendRedirect("http://www.baidu.com");

    }
}
